/*
 * @author Nieves Grinan Garrido
 */
package clases;

import java.io.Serializable;


public class Piloto implements Serializable{

    private String nombre;
    private String apellidos;
    private Integer puntos;
    private Integer valoracion;
    private Integer sueldo;
    private Integer agresividad;
    private Integer valentia;
    private Integer reflejos;
    private Integer paciencia;
    private Integer edad;
    private Integer altura;
    private Integer peso;
    private String tipo;
	private String escuderia;

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }


    public Integer getAgresividad() {
        return agresividad;
    }

    public void setAgresividad(Integer agresividad) {
        this.agresividad = agresividad;
    }

    public Piloto(String nombre, String apellidos, Integer puntos, Integer valoracion, Integer sueldo) {
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.puntos = puntos;
        this.valoracion = valoracion;
        this.sueldo = sueldo;
    }


    public Integer getValentia() {
        return valentia;
    }

    public void setValentia(Integer valentia) {
        this.valentia = valentia;
    }

    public Integer getReflejos() {
        return reflejos;
    }

    public void setReflejos(Integer reflejos) {
        this.reflejos = reflejos;
    }

    public Integer getPaciencia() {
        return paciencia;
    }

    public void setPaciencia(Integer paciencia) {
        this.paciencia = paciencia;
    }

    public Integer getEdad() {
        return edad;
    }

    public void setEdad(Integer edad) {
        this.edad = edad;
    }

    public Integer getAltura() {
        return altura;
    }

    public void setAltura(Integer altura) {
        this.altura = altura;
    }

    public Integer getPeso() {
        return peso;
    }

    public void setPeso(Integer peso) {
        this.peso = peso;
    }
    
    private static final int NAME_LIMIT=20;
    public static final int SIZE = 2 * NAME_LIMIT + 2 * NAME_LIMIT + 4 + 4 +
            4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 2 * NAME_LIMIT;
  
    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public Integer getPuntos() {
        return puntos;
    }

    public void setPuntos(Integer puntos) {
        this.puntos = puntos;
    }

    public Integer getValoracion() {
        return valoracion;
    }

    public void setValoracion(Integer valoracion) {
        this.valoracion = valoracion;
    }

    public float getSueldo() {
        return sueldo;
    }

    public void setSueldo(Integer sueldo) {
        this.sueldo = sueldo;
    }
    public Piloto(String nombre, String apellidos, Integer edad, Integer peso,Integer altura, 
            Integer puntos, Integer agresividad, Integer paciencia, Integer reflejos,
                Integer valentia,Integer valoracion, Integer sueldo, String tipo){
      this.nombre = nombre;
      this.apellidos = apellidos;
      this.edad = edad;
      this.peso = peso;
      this.altura = altura;
      this.puntos = puntos;
      this.agresividad = agresividad;
      this.paciencia = paciencia;
      this.reflejos = reflejos;
      this.valentia = valentia;
      this.valoracion = valoracion;
      this.sueldo = sueldo;
      this.tipo = tipo;
      
  };
    public void mejorar() {
  }

    public void sumarPuntos() {
  }
   
    public byte[] toBytes() {
        byte[] record = new byte[SIZE];
        int offset = 0;
        PackUtils.packLimitedString(nombre, NAME_LIMIT,record, offset);
        offset += 2 * NAME_LIMIT;
        PackUtils.packLimitedString(apellidos, NAME_LIMIT, record, offset);
        offset += 2 * NAME_LIMIT;
        PackUtils.packInt(edad, record, offset);
        offset += 4;
        PackUtils.packInt(peso, record, offset);
        offset += 4;
        PackUtils.packInt(altura, record, offset);
        offset += 4;
        PackUtils.packInt(puntos, record, offset);
        offset += 4;
        PackUtils.packInt(agresividad, record, offset);
        offset += 4;
        PackUtils.packInt(paciencia, record, offset);
        offset += 4;
        PackUtils.packInt(reflejos, record, offset);
        offset += 4;
        PackUtils.packInt(valentia, record, offset);
        offset += 4;
        PackUtils.packInt(valoracion, record, offset);
        offset += 4;
        PackUtils.packInt(sueldo, record, offset);
        offset += 4;
        PackUtils.packLimitedString(tipo, NAME_LIMIT, record, offset);
        offset += 2 * NAME_LIMIT;
        return record;
      }
       public static Piloto fromBytes(byte[] record) {
        int offset = 0;
        String nombre = PackUtils.unpackLimitedString(NAME_LIMIT,record,offset);
        offset += 2 * NAME_LIMIT;
        String apellidos = PackUtils.unpackLimitedString(NAME_LIMIT,record,offset);
        offset += 2 * NAME_LIMIT;
        int edad = PackUtils.unpackInt(record, offset);
        offset += 4;
        int peso = PackUtils.unpackInt(record, offset);
        offset += 4;
        int altura = PackUtils.unpackInt(record, offset);
        offset += 4;
        int puntos = PackUtils.unpackInt(record, offset);
        offset += 4;
        int agres = PackUtils.unpackInt(record, offset);
        offset += 4;
        int paciencia = PackUtils.unpackInt(record, offset);
        offset += 4;
        int reflejos = PackUtils.unpackInt(record, offset);
        offset += 4;
        int valentia = PackUtils.unpackInt(record, offset);
        offset += 4;
        int valoracion = PackUtils.unpackInt(record, offset);
        offset += 4;
        int sueldo = PackUtils.unpackInt(record,offset); 
        offset += 4;
        String tipo = PackUtils.unpackLimitedString(NAME_LIMIT,record,offset);
        offset += 2 * NAME_LIMIT;
        return new Piloto(nombre, apellidos, edad, peso, altura,
                puntos, agres, paciencia, reflejos, valentia,valoracion, sueldo, tipo);
   }
    
}